/**
 * arrayService - factory
 * 封装一个http服务实现数组上移、下移、删除
 */
class arrayService {
    constructor() {

        // 交换数组元素
        this.swapItems = (arr, index1, index2) => {
            arr[index1] = arr.splice(index2, 1, arr[index1])[0];
            return arr;
        }

        // 上移
        this.upRecord = (arr, $index) => {
            if($index == 0) {
                return;
            }
            this.swapItems(arr, $index, $index - 1);
        }

        // 下移
        this.downRecord = (arr, $index) => {
            if($index == arr.length -1) {
                return;
            }
            this.swapItems(arr, $index, $index + 1);
        }

        // 删除
        this.deleteItem = (arr, $index) => {
            return arr.splice($index, 1);
        }
    }

    upRecord(arr, $index) {
        return this.upRecord(arr, $index)
    }

    downRecord(arr, $index) {
        return this.downRecord(arr, $index)
    }

    deleteItem(arr, $index) {
        return this.deleteItem(arr, $index)
    }

}

export default arrayService;